File migration is a process used to move files from an older file system to a newer file system in order to take advantage of the new features offered by the new file system. Typically, current file migration systems deny access to a file in the old file system during file migration to ensure that no modifications to the data in the old file system are lost when the old file system is removed.
A known method to allow file access during migration is use of a virtual file system (“VFS”). A VFS is an “abstraction layer” placed on top of a file system to create a single logical storage where the user can change, add, consolidate, or migrate storage. The VFS is placed on top of the old file system and the new file system to allow a user to access a file in the old file system through the VFS while the file is being migrated. The VFS applies the user's modifications to the copy of the file on the new system. Thus, the VFS allows a user to access and make changes to a file's contents without knowing that the file is being migrated and without a concern as to the data's transfer to the new file system.
Although a VFS solves the problem of modifying a file during migration, the VFS must determine the physical location of a file in order to migrate the file and to access the data during migration. Current VFS systems cause an increase in the lapse of time between the initiation of a request for the data and the receipt of the data. As such, the full benefits of the new file system are not realized until migration is completed.
Thus, a need exists for a virtual file transfer application that allows file changes to be made simultaneously to the file system during migration without interrupted access or an increase in the time to receive data.